-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Проверка модификации ключей структуры вне функции-конструктора #1054 #1393
Conversation
7fb5f3b
to
606fb80
Compare
606fb80
to
1a9994f
Compare
bundles/com.e1c.v8codestyle.bsl/markdown/structure-key-modification.md
Outdated
Show resolved
Hide resolved
....v8codestyle.bsl/src/com/e1c/v8codestyle/bsl/strict/check/StructureKeyModificationCheck.java
Show resolved
Hide resolved
bundles/com.e1c.v8codestyle.bsl/markdown/ru/structure-key-modification.md
Outdated
Show resolved
Hide resolved
bundles/com.e1c.v8codestyle.bsl/markdown/ru/structure-key-modification.md
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Мелкие опечатки записал, в ерп ни одной ошибки не нашлось
|
} | ||
|
||
if (property instanceof DerivedProperty && keyName.equalsIgnoreCase(property.getName()) | ||
&& ((DerivedProperty)property).getSource() instanceof BslDerivedPropertySource) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
дешевле сперва проверять на intanceof, чем на equals
@@ -84,6 +84,22 @@ StructureCtorValueTypeCheck_description = Проверяет строковый | |||
|
|||
StructureCtorValueTypeCheck_title = Типизация значений в конструкторе структуры | |||
|
|||
StructureKeyModificationCheck_Check_Clear_method = Проверять метод Очистить() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
кажется, что скобки тут не нужны, достаточно имя метода просто в кавычки
.extension(new StrictTypeAnnotationCheckExtension()) | ||
.module() | ||
.checkedObjectType(DYNAMIC_FEATURE_ACCESS) | ||
.parameter(PARAM_CHECK_INSERT, Boolean.class, Boolean.TRUE.toString(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
а можно меня просветить, это какой-то стандарт об этом говорит, так хочет сообщество, почему мы сразу все это включаем и собираемся проверять. Если кажется, что так просто правильнее писать код, то надо понимать, на сколько оно затронет текущее решения, сколько новых ошибок они увидят?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
По коду возражений нет, но нужно обоснование включение этого сразу, даже под строгими типами
@MaksimDzyuba Посмотри пожалуйста, описание проверки - там есть объяснение. Может быть недостаточно избыточное и изобилующее примерами... Основные причины:
См. Так же в исходный тикет. |
Что сделано
Чек-лист
Общее:
master
и нет конфликтовЕсли применимо:
Закрываемые задачи
Closes #1054